#ifndef MTM_H
#define MTM_H

#include <exception>

#define EPSILON 1e-10
#define IS_DOUBLE_EQUAL(d1,d2) \
	((d1) <= (d2) + EPSILON && (d1) >= (d2) - EPSILON)

namespace MatrixExceptions
{
	/*****************************************************************
	*	Exception types												 *
	*****************************************************************/

	class MatrixException : public std::exception {};
	class IndexOutOfRange : public MatrixException {};
	class BadDimensions : public MatrixException {};
	class Singular : public MatrixException {};

}

namespace ListExceptions
{
	class ElementNotFound : public std::exception {};
}

#endif
